package io.scnb.coupon.template.service.intf;

import io.scnb.coupon.template.api.beans.CouponTemplateInfo;
import io.scnb.coupon.template.api.beans.PagedCouponTemplateInfo;
import io.scnb.coupon.template.api.beans.TemplateSearchParams;

import java.util.Collection;
import java.util.Map;

public interface CouponTemplateService {
    // 创建优惠券模板
    CouponTemplateInfo createTemplate(CouponTemplateInfo request);

    // 通过模板id查询优惠券模板
    CouponTemplateInfo loadTemplateInfo(Long id);

    // 克隆优惠券模板
    CouponTemplateInfo cloneTemplate(Long templateId);

    // 模板查询（分页）
    PagedCouponTemplateInfo search(TemplateSearchParams request);

    // 删除模板
    void deleteTemplate(Long id);

    // 批量读取模板
    // key是模板id， value是模板详情
    Map<Long, CouponTemplateInfo> getTemplateInfoMap(Collection<Long> ids);
}
